/*
 * XML Type:  Difference
 * Namespace: http://www.omg.org/XMI
 * Java type: org.omg.xmi.Difference
 *
 * Automatically generated - do not modify.
 */
package org.omg.xmi.impl;
/**
 * An XML Difference(@http://www.omg.org/XMI).
 *
 * This is a complex type.
 */
public class DifferenceImpl extends org.apache.xmlbeans.impl.values.XmlComplexContentImpl implements org.omg.xmi.Difference
{
    private static final long serialVersionUID = 1L;
    
    public DifferenceImpl(org.apache.xmlbeans.SchemaType sType)
    {
        super(sType);
    }
    
    private static final javax.xml.namespace.QName TARGET$0 = 
        new javax.xml.namespace.QName("", "target");
    private static final javax.xml.namespace.QName DIFFERENCE$2 = 
        new javax.xml.namespace.QName("", "difference");
    private static final javax.xml.namespace.QName CONTAINER$4 = 
        new javax.xml.namespace.QName("", "container");
    private static final javax.xml.namespace.QName LABEL$6 = 
        new javax.xml.namespace.QName("http://www.omg.org/XMI", "label");
    private static final javax.xml.namespace.QName UUID$8 = 
        new javax.xml.namespace.QName("http://www.omg.org/XMI", "uuid");
    private static final javax.xml.namespace.QName HREF$10 = 
        new javax.xml.namespace.QName("", "href");
    private static final javax.xml.namespace.QName IDREF$12 = 
        new javax.xml.namespace.QName("http://www.omg.org/XMI", "idref");
    private static final javax.xml.namespace.QName VERSION$14 = 
        new javax.xml.namespace.QName("http://www.omg.org/XMI", "version");
    private static final javax.xml.namespace.QName TYPE$16 = 
        new javax.xml.namespace.QName("http://www.omg.org/XMI", "type");
    private static final javax.xml.namespace.QName TARGET2$18 = 
        new javax.xml.namespace.QName("", "target");
    private static final javax.xml.namespace.QName CONTAINER2$20 = 
        new javax.xml.namespace.QName("", "container");
    
    
    /**
     * Gets array of all "target" elements
     */
    public org.omg.xmi.Difference.Target[] getTargetArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            java.util.List targetList = new java.util.ArrayList();
            get_store().find_all_element_users(TARGET2$18, targetList);
            org.omg.xmi.Difference.Target[] result = new org.omg.xmi.Difference.Target[targetList.size()];
            targetList.toArray(result);
            return result;
        }
    }
    
    /**
     * Gets ith "target" element
     */
    public org.omg.xmi.Difference.Target getTargetArray(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.omg.xmi.Difference.Target target = null;
            target = (org.omg.xmi.Difference.Target)get_store().find_element_user(TARGET2$18, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            return target;
        }
    }
    
    /**
     * Returns number of "target" element
     */
    public int sizeOfTargetArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().count_elements(TARGET2$18);
        }
    }
    
    /**
     * Sets array of all "target" element  WARNING: This method is not atomicaly synchronized.
     */
    public void setTargetArray(org.omg.xmi.Difference.Target[] targetValueArray)
    {
        check_orphaned();
        arraySetterHelper(targetValueArray, TARGET2$18);
    }
    
    /**
     * Sets ith "target" element
     */
    public void setTargetArray(int i, org.omg.xmi.Difference.Target targetValue)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.omg.xmi.Difference.Target target = null;
            target = (org.omg.xmi.Difference.Target)get_store().find_element_user(TARGET2$18, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            target.set(targetValue);
        }
    }
    
    /**
     * Inserts and returns a new empty value (as xml) as the ith "target" element
     */
    public org.omg.xmi.Difference.Target insertNewTarget(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.omg.xmi.Difference.Target target = null;
            target = (org.omg.xmi.Difference.Target)get_store().insert_element_user(TARGET2$18, i);
            return target;
        }
    }
    
    /**
     * Appends and returns a new empty value (as xml) as the last "target" element
     */
    public org.omg.xmi.Difference.Target addNewTarget()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.omg.xmi.Difference.Target target = null;
            target = (org.omg.xmi.Difference.Target)get_store().add_element_user(TARGET2$18);
            return target;
        }
    }
    
    /**
     * Removes the ith "target" element
     */
    public void removeTarget(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_element(TARGET2$18, i);
        }
    }
    
    /**
     * Gets array of all "difference" elements
     */
    public org.omg.xmi.Difference[] getDifferenceArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            java.util.List targetList = new java.util.ArrayList();
            get_store().find_all_element_users(DIFFERENCE$2, targetList);
            org.omg.xmi.Difference[] result = new org.omg.xmi.Difference[targetList.size()];
            targetList.toArray(result);
            return result;
        }
    }
    
    /**
     * Gets ith "difference" element
     */
    public org.omg.xmi.Difference getDifferenceArray(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.omg.xmi.Difference target = null;
            target = (org.omg.xmi.Difference)get_store().find_element_user(DIFFERENCE$2, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            return target;
        }
    }
    
    /**
     * Returns number of "difference" element
     */
    public int sizeOfDifferenceArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().count_elements(DIFFERENCE$2);
        }
    }
    
    /**
     * Sets array of all "difference" element  WARNING: This method is not atomicaly synchronized.
     */
    public void setDifferenceArray(org.omg.xmi.Difference[] differenceArray)
    {
        check_orphaned();
        arraySetterHelper(differenceArray, DIFFERENCE$2);
    }
    
    /**
     * Sets ith "difference" element
     */
    public void setDifferenceArray(int i, org.omg.xmi.Difference difference)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.omg.xmi.Difference target = null;
            target = (org.omg.xmi.Difference)get_store().find_element_user(DIFFERENCE$2, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            target.set(difference);
        }
    }
    
    /**
     * Inserts and returns a new empty value (as xml) as the ith "difference" element
     */
    public org.omg.xmi.Difference insertNewDifference(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.omg.xmi.Difference target = null;
            target = (org.omg.xmi.Difference)get_store().insert_element_user(DIFFERENCE$2, i);
            return target;
        }
    }
    
    /**
     * Appends and returns a new empty value (as xml) as the last "difference" element
     */
    public org.omg.xmi.Difference addNewDifference()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.omg.xmi.Difference target = null;
            target = (org.omg.xmi.Difference)get_store().add_element_user(DIFFERENCE$2);
            return target;
        }
    }
    
    /**
     * Removes the ith "difference" element
     */
    public void removeDifference(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_element(DIFFERENCE$2, i);
        }
    }
    
    /**
     * Gets array of all "container" elements
     */
    public org.omg.xmi.Difference[] getContainerArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            java.util.List targetList = new java.util.ArrayList();
            get_store().find_all_element_users(CONTAINER2$20, targetList);
            org.omg.xmi.Difference[] result = new org.omg.xmi.Difference[targetList.size()];
            targetList.toArray(result);
            return result;
        }
    }
    
    /**
     * Gets ith "container" element
     */
    public org.omg.xmi.Difference getContainerArray(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.omg.xmi.Difference target = null;
            target = (org.omg.xmi.Difference)get_store().find_element_user(CONTAINER2$20, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            return target;
        }
    }
    
    /**
     * Returns number of "container" element
     */
    public int sizeOfContainerArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().count_elements(CONTAINER2$20);
        }
    }
    
    /**
     * Sets array of all "container" element  WARNING: This method is not atomicaly synchronized.
     */
    public void setContainerArray(org.omg.xmi.Difference[] containerArray)
    {
        check_orphaned();
        arraySetterHelper(containerArray, CONTAINER2$20);
    }
    
    /**
     * Sets ith "container" element
     */
    public void setContainerArray(int i, org.omg.xmi.Difference container)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.omg.xmi.Difference target = null;
            target = (org.omg.xmi.Difference)get_store().find_element_user(CONTAINER2$20, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            target.set(container);
        }
    }
    
    /**
     * Inserts and returns a new empty value (as xml) as the ith "container" element
     */
    public org.omg.xmi.Difference insertNewContainer(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.omg.xmi.Difference target = null;
            target = (org.omg.xmi.Difference)get_store().insert_element_user(CONTAINER2$20, i);
            return target;
        }
    }
    
    /**
     * Appends and returns a new empty value (as xml) as the last "container" element
     */
    public org.omg.xmi.Difference addNewContainer()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.omg.xmi.Difference target = null;
            target = (org.omg.xmi.Difference)get_store().add_element_user(CONTAINER2$20);
            return target;
        }
    }
    
    /**
     * Removes the ith "container" element
     */
    public void removeContainer(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_element(CONTAINER2$20, i);
        }
    }
    
    /**
     * Gets the "label" attribute
     */
    public java.lang.String getLabel()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(LABEL$6);
            if (target == null)
            {
                return null;
            }
            return target.getStringValue();
        }
    }
    
    /**
     * Gets (as xml) the "label" attribute
     */
    public org.apache.xmlbeans.XmlString xgetLabel()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(LABEL$6);
            return target;
        }
    }
    
    /**
     * True if has "label" attribute
     */
    public boolean isSetLabel()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().find_attribute_user(LABEL$6) != null;
        }
    }
    
    /**
     * Sets the "label" attribute
     */
    public void setLabel(java.lang.String label)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(LABEL$6);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(LABEL$6);
            }
            target.setStringValue(label);
        }
    }
    
    /**
     * Sets (as xml) the "label" attribute
     */
    public void xsetLabel(org.apache.xmlbeans.XmlString label)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(LABEL$6);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlString)get_store().add_attribute_user(LABEL$6);
            }
            target.set(label);
        }
    }
    
    /**
     * Unsets the "label" attribute
     */
    public void unsetLabel()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_attribute(LABEL$6);
        }
    }
    
    /**
     * Gets the "uuid" attribute
     */
    public java.lang.String getUuid()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(UUID$8);
            if (target == null)
            {
                return null;
            }
            return target.getStringValue();
        }
    }
    
    /**
     * Gets (as xml) the "uuid" attribute
     */
    public org.apache.xmlbeans.XmlString xgetUuid()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(UUID$8);
            return target;
        }
    }
    
    /**
     * True if has "uuid" attribute
     */
    public boolean isSetUuid()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().find_attribute_user(UUID$8) != null;
        }
    }
    
    /**
     * Sets the "uuid" attribute
     */
    public void setUuid(java.lang.String uuid)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(UUID$8);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(UUID$8);
            }
            target.setStringValue(uuid);
        }
    }
    
    /**
     * Sets (as xml) the "uuid" attribute
     */
    public void xsetUuid(org.apache.xmlbeans.XmlString uuid)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(UUID$8);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlString)get_store().add_attribute_user(UUID$8);
            }
            target.set(uuid);
        }
    }
    
    /**
     * Unsets the "uuid" attribute
     */
    public void unsetUuid()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_attribute(UUID$8);
        }
    }
    
    /**
     * Gets the "href" attribute
     */
    public java.lang.String getHref()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(HREF$10);
            if (target == null)
            {
                return null;
            }
            return target.getStringValue();
        }
    }
    
    /**
     * Gets (as xml) the "href" attribute
     */
    public org.apache.xmlbeans.XmlString xgetHref()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(HREF$10);
            return target;
        }
    }
    
    /**
     * True if has "href" attribute
     */
    public boolean isSetHref()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().find_attribute_user(HREF$10) != null;
        }
    }
    
    /**
     * Sets the "href" attribute
     */
    public void setHref(java.lang.String href)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(HREF$10);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(HREF$10);
            }
            target.setStringValue(href);
        }
    }
    
    /**
     * Sets (as xml) the "href" attribute
     */
    public void xsetHref(org.apache.xmlbeans.XmlString href)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(HREF$10);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlString)get_store().add_attribute_user(HREF$10);
            }
            target.set(href);
        }
    }
    
    /**
     * Unsets the "href" attribute
     */
    public void unsetHref()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_attribute(HREF$10);
        }
    }
    
    /**
     * Gets the "idref" attribute
     */
    public java.lang.String getIdref()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(IDREF$12);
            if (target == null)
            {
                return null;
            }
            return target.getStringValue();
        }
    }
    
    /**
     * Gets (as xml) the "idref" attribute
     */
    public org.apache.xmlbeans.XmlIDREF xgetIdref()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlIDREF target = null;
            target = (org.apache.xmlbeans.XmlIDREF)get_store().find_attribute_user(IDREF$12);
            return target;
        }
    }
    
    /**
     * True if has "idref" attribute
     */
    public boolean isSetIdref()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().find_attribute_user(IDREF$12) != null;
        }
    }
    
    /**
     * Sets the "idref" attribute
     */
    public void setIdref(java.lang.String idref)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(IDREF$12);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(IDREF$12);
            }
            target.setStringValue(idref);
        }
    }
    
    /**
     * Sets (as xml) the "idref" attribute
     */
    public void xsetIdref(org.apache.xmlbeans.XmlIDREF idref)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlIDREF target = null;
            target = (org.apache.xmlbeans.XmlIDREF)get_store().find_attribute_user(IDREF$12);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlIDREF)get_store().add_attribute_user(IDREF$12);
            }
            target.set(idref);
        }
    }
    
    /**
     * Unsets the "idref" attribute
     */
    public void unsetIdref()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_attribute(IDREF$12);
        }
    }
    
    /**
     * Gets the "version" attribute
     */
    public java.lang.String getVersion()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(VERSION$14);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_default_attribute_value(VERSION$14);
            }
            if (target == null)
            {
                return null;
            }
            return target.getStringValue();
        }
    }
    
    /**
     * Gets (as xml) the "version" attribute
     */
    public org.apache.xmlbeans.XmlString xgetVersion()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(VERSION$14);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlString)get_default_attribute_value(VERSION$14);
            }
            return target;
        }
    }
    
    /**
     * True if has "version" attribute
     */
    public boolean isSetVersion()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().find_attribute_user(VERSION$14) != null;
        }
    }
    
    /**
     * Sets the "version" attribute
     */
    public void setVersion(java.lang.String version)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(VERSION$14);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(VERSION$14);
            }
            target.setStringValue(version);
        }
    }
    
    /**
     * Sets (as xml) the "version" attribute
     */
    public void xsetVersion(org.apache.xmlbeans.XmlString version)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(VERSION$14);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlString)get_store().add_attribute_user(VERSION$14);
            }
            target.set(version);
        }
    }
    
    /**
     * Unsets the "version" attribute
     */
    public void unsetVersion()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_attribute(VERSION$14);
        }
    }
    
    /**
     * Gets the "type" attribute
     */
    public javax.xml.namespace.QName getType()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(TYPE$16);
            if (target == null)
            {
                return null;
            }
            return target.getQNameValue();
        }
    }
    
    /**
     * Gets (as xml) the "type" attribute
     */
    public org.apache.xmlbeans.XmlQName xgetType()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlQName target = null;
            target = (org.apache.xmlbeans.XmlQName)get_store().find_attribute_user(TYPE$16);
            return target;
        }
    }
    
    /**
     * True if has "type" attribute
     */
    public boolean isSetType()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().find_attribute_user(TYPE$16) != null;
        }
    }
    
    /**
     * Sets the "type" attribute
     */
    public void setType(javax.xml.namespace.QName type)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(TYPE$16);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(TYPE$16);
            }
            target.setQNameValue(type);
        }
    }
    
    /**
     * Sets (as xml) the "type" attribute
     */
    public void xsetType(org.apache.xmlbeans.XmlQName type)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlQName target = null;
            target = (org.apache.xmlbeans.XmlQName)get_store().find_attribute_user(TYPE$16);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlQName)get_store().add_attribute_user(TYPE$16);
            }
            target.set(type);
        }
    }
    
    /**
     * Unsets the "type" attribute
     */
    public void unsetType()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_attribute(TYPE$16);
        }
    }
    
    /**
     * Gets the "target" attribute
     */
    public java.util.List getTarget2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(TARGET2$18);
            if (target == null)
            {
                return null;
            }
            return target.getListValue();
        }
    }
    
    /**
     * Gets (as xml) the "target" attribute
     */
    public org.apache.xmlbeans.XmlIDREFS xgetTarget2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlIDREFS target = null;
            target = (org.apache.xmlbeans.XmlIDREFS)get_store().find_attribute_user(TARGET2$18);
            return target;
        }
    }
    
    /**
     * True if has "target" attribute
     */
    public boolean isSetTarget2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().find_attribute_user(TARGET2$18) != null;
        }
    }
    
    /**
     * Sets the "target" attribute
     */
    public void setTarget2(java.util.List target2)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(TARGET2$18);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(TARGET2$18);
            }
            target.setListValue(target2);
        }
    }
    
    /**
     * Sets (as xml) the "target" attribute
     */
    public void xsetTarget2(org.apache.xmlbeans.XmlIDREFS target2)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlIDREFS target = null;
            target = (org.apache.xmlbeans.XmlIDREFS)get_store().find_attribute_user(TARGET2$18);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlIDREFS)get_store().add_attribute_user(TARGET2$18);
            }
            target.set(target2);
        }
    }
    
    /**
     * Unsets the "target" attribute
     */
    public void unsetTarget2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_attribute(TARGET2$18);
        }
    }
    
    /**
     * Gets the "container" attribute
     */
    public java.util.List getContainer2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(CONTAINER2$20);
            if (target == null)
            {
                return null;
            }
            return target.getListValue();
        }
    }
    
    /**
     * Gets (as xml) the "container" attribute
     */
    public org.apache.xmlbeans.XmlIDREFS xgetContainer2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlIDREFS target = null;
            target = (org.apache.xmlbeans.XmlIDREFS)get_store().find_attribute_user(CONTAINER2$20);
            return target;
        }
    }
    
    /**
     * True if has "container" attribute
     */
    public boolean isSetContainer2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().find_attribute_user(CONTAINER2$20) != null;
        }
    }
    
    /**
     * Sets the "container" attribute
     */
    public void setContainer2(java.util.List container2)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(CONTAINER2$20);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(CONTAINER2$20);
            }
            target.setListValue(container2);
        }
    }
    
    /**
     * Sets (as xml) the "container" attribute
     */
    public void xsetContainer2(org.apache.xmlbeans.XmlIDREFS container2)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlIDREFS target = null;
            target = (org.apache.xmlbeans.XmlIDREFS)get_store().find_attribute_user(CONTAINER2$20);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlIDREFS)get_store().add_attribute_user(CONTAINER2$20);
            }
            target.set(container2);
        }
    }
    
    /**
     * Unsets the "container" attribute
     */
    public void unsetContainer2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_attribute(CONTAINER2$20);
        }
    }
    /**
     * An XML target(@).
     *
     * This is a complex type.
     */
    public static class TargetImpl extends org.apache.xmlbeans.impl.values.XmlComplexContentImpl implements org.omg.xmi.Difference.Target
    {
        private static final long serialVersionUID = 1L;
        
        public TargetImpl(org.apache.xmlbeans.SchemaType sType)
        {
            super(sType);
        }
        
        
    }
}
